/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sysype;

import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

/**
 *
 * @author SERVIDOR
 */
public class Produto {
    String nome,referencia,descricao;
    double prcCompra,prcVend,percentagem;
    int estoque,estoqueMinimo,codigo;
    ConexaoMySQL con;
    void Produto(){
        con = new ConexaoMySQL();
    }
    int getCodigo(){
        return this.codigo;
    }
    String getNome(){
        return this.nome;
    }
    String getReferencia(){
        return this.referencia;
    }
    String getDescricao(){
        return this.descricao;
    }
    double getPrcCompra(){
        return this.prcCompra;
    }
    double getPrcVend(){
        return this.prcVend;
    }
    int getEstoque(){
        return this.estoque;
    }
    int getEstoqueMinimo(){
        return this.estoqueMinimo;
    }
    double getPercentagem(){
        return this.percentagem;
    }
    void setcodigo(int c){
        this.codigo=c;
    }
    void setNome(String n){
        this.nome=n;
    }
    void setReferencia(String r){
        this.referencia=r;
    }
    void setDescricao(String d){
        this.descricao=d;
    }
    void setPrcCompra(double pc){
        this.prcCompra=pc;
    }
    void setPrcVend(double pv){
        this.prcVend=pv;
    }
    void setEstoque(int e){
        this.estoque=e;
    }
    void setEstoqueMinimo(int em){
        this.estoqueMinimo=em;
    }
    void setPercentagem(double pe){
        this.percentagem=pe;
    }
    void insereProduto(Produto p,ConexaoMySQL cnx){
        String query;
        query= "insert into produto (id_produto, ref_produto, nom_produto, desc_produto, prc_venda, prc_compra, perc_lucro, quantidade_estoque, quantidade_estoque_minimo) values (NULL,'"+getReferencia()+"','"+getNome()+"','"+getDescricao()+"',"+Double.toString(getPrcVend())+","+Double.toString(getPrcCompra())+","+Double.toString(getPercentagem())+","+getEstoque()+","+getEstoqueMinimo()+")";
        JOptionPane.showMessageDialog(null,query);
       // cnx.Conexao();
        cnx.preencheDataSet(query,2);
        cnx.fecharConexao();
    }
    void alteraProduto(Produto p,ConexaoMySQL cnx){
        String query;
        query = "UPDATE  produto SET  ref_produto ='"+p.getReferencia()+"',nom_produto = '"+p.getNome()+"',desc_produto =  '"+p.getDescricao()+"',prc_venda = "+p.getPrcVend()+",prc_compra = "+p.getPrcCompra()+" ,perc_lucro = "+p.getPercentagem()+" ,quantidade_estoque = "+p.getEstoque()+" ,quantidade_estoque_minimo = "+p.getEstoqueMinimo()+" WHERE  produto.id_produto ="+p.getCodigo();
        JOptionPane.showMessageDialog(null,query);
        try {
           // cnx.Conexao();
            cnx.preencheDataSet(query,2);
            cnx.fecharConexao();
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null,e);
        }
        
    }
    void calculaPrecoVenda(double precoCompra,double percentagemLucro,Produto p){
        double precoVenda,lucro;
        lucro = (percentagemLucro/100)+1;
        precoVenda = lucro * precoCompra;
        p.setPrcCompra(precoCompra);
        p.setPrcVend(precoVenda);
        p.setPercentagem(percentagemLucro);
    }
    void calculaPrecoCompra(double precoVenda,double percentagemLucro,Produto p){
        double precoCompra,lucro,lucroEmDinheiro;
        lucro = (percentagemLucro/100)+1;
        precoCompra = precoVenda / lucro;
        p.setPrcCompra(precoCompra);
        p.setPrcVend(precoVenda);
        p.setPercentagem(percentagemLucro);
    }
    void calculaPercentagemLucro(double precoVenda,double precoCompra,Produto p){
        double percentagemLucro,lucroEmDinheiro,lucro;
        lucroEmDinheiro = precoVenda - precoCompra;
        lucro = lucroEmDinheiro / precoCompra;
        percentagemLucro = lucro * 100;
        p.setPrcCompra(precoCompra);
        p.setPrcVend(precoVenda);
        p.setPercentagem(percentagemLucro);
    }

}
